	package service;

	import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import enitys.Title;
import Dao.TitleDao;
import Dao.daoimpl.TitleDaoImpl;
	
	public class TitleManager {
		private static TitleManager instance = null;//该类的唯一对象
		private TitleDao titleDao = new TitleDaoImpl();//TitleDao持久层的对象
		
		/**
		 * 私有的构造器  创建对象用getInstance()方法
		 */
		private TitleManager() {}
	
		/**
		 * 获取该类对象的唯一方法（单例模式）
		 * @return 该类的唯一实例
		 */
		public static TitleManager getInstance() {
			if (instance == null) {
				instance = new TitleManager();
			}
			return instance;
		}
		
		/**
		 * 查找全部通知
		 * @return List<Title> 从持久层封装好的结果集
		 */
		public List<Title> findTitleAll(){
			return this.titleDao.findTitleById(0,true);
		}
		
		/**
		 * 按id查找通知
		 * @param id 通知id
		 * @return Title 封装了通知信息的结果Bean
		 */
		public Title findTitleById(int id){
			return this.titleDao.findTitleById(id, false).get(0);
		}
		
		/**
		 * 添加通知
		 * @param form 表单Bean 封装了通知的具体内容
		 * @return boolean 是否添加成功
		 */
		public boolean addTitle(Title title){
			SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
			title.setTime(format.format(new Date()));
			return this.titleDao.addTitle(title);
		}
		
		/**
		 * 按id删除通知
		 * @param id 通知id
		 * @return boolean 是否删除成功
		 */
		public boolean delTitleById(int id){
			int flag = this.titleDao.delTitleById(id);
			if(flag>0){
				return true;
			}else{
				return false;
			}
		}
		
		/**
		 * 按id修改通知
		 * @param form 封装了信息的表单Bean
		 * @param id 需要修改的通知的id
		 * @return boolean 是否修改成功
		 */
		public boolean modifyTitle(Title title,int id){
			return this.titleDao.modifyTitleById(title,id);
		}
	}
